package com.jinzheng.qhwocket.util;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;

/**
 * 测试socket客户端发送对象
 */
public class MyClientObject {

    public static void main(String[] args) throws Exception {
        //循环100次
        for(int i=0;i<100;i++) {
            //创建客户端Socket
            Socket socket=null;
            //创建输入流
            ObjectOutputStream os=null;
            //创建输出流
            ObjectInputStream is=null;
            try {
                //连接服务器
                socket=new Socket("localhost",8682);
                //接收输出流中的数据
                os=new ObjectOutputStream(socket.getOutputStream());
                //创建一个User对象
                JSONObject jsonObject=new JSONObject();
                //jsonObject.put("mgs","close");
                jsonObject.put("mgs","open");
                jsonObject.put("message","上帝噶沙发上大宋i哦i打死阿斯");
                //将User对象写入输出流
                os.writeObject(jsonObject);
                os.flush();
                //接收输入流中的数据
                is=new ObjectInputStream(socket.getInputStream());
                //读取输入流中的数据
                Object obj=is.readObject();
                //如果数据不空则转换成User对象，然后输出成员信息
                if(obj!=null) {
                    jsonObject=(JSONObject) obj;
                    System.out.println("接受服务端user: "+JSONObject.toJSONString(jsonObject, SerializerFeature.WriteMapNullValue,SerializerFeature.WriteDateUseDateFormat));
                }
            } catch(IOException ex) {
                ex.printStackTrace();
            } finally {
                try {
                    //关闭输入流
                    is.close();
                    //关闭输出流
                    os.close();
                    //关闭客户端
                    socket.close();
                } catch(Exception ex) {}
            }
        }
    }
}